var http=require('http');
var fs=require('fs');
var cheerio=require('cheerio');
var request=require('request');
var rimraf=require('rimraf');

var i=0;
var total=50;

var url="http://www.ss.pku.edu.cn/index.php/newscenter/news/2391";

function fetchPage(x){
    clean(function(){
        console.log('cleaned');
    });
    startRequest(x);
};

function startRequest(x){
    http.get(x,function(res){
        var html='';
        var titles=[];
        res.setEncoding('utf-8');
        //监听data事件，每次取一块数据
        res.on('data',function(chunk){
            html+=chunk;
        });
        //监听end事件，如果网页内容获取完毕，则执行回掉函数
        res.on('end',function(){
            var $=cheerio.load(html);//采用cheerio模式解析html；
            var time=$('.article-info a:first-child').next().text().trim();

            var news_item={
                //获取文章标题
                title:$('div.article-title a'),
                //获取文章发布时间
                Time:time,
                //获取当前文章url
                link:"http://www.ss.pku.edu.cn" + $("div.article-title a").attr('href'),

                //供稿单位
                author:$('[title=供稿]'),
                i:i=i+1

            };
            console.log(news_item);
            var news_title=$('div.article-title a').text().trim();

            savedContent($,news_title);//存储文章内容及标题
            savedImg($,news_title);//存储文章图片及标题

            var nextLink="http://www.ss.pku.edu.cn" + $("li.next a").attr('href'),

            str1=nextLink.split('-'),
            str=encodeURI(str1[0]);

            if(i<=total){
                fetchPage(str);
            }

        }).on('error',function(err){
            console.log('获取信息失败');
            console.log('err');
        })
    })
}


function savedContent($,news_title){
    $('.article-content p').each(function(index,item){
        var x=$(this).text();

        var y=x.substring(0,2).trim();

        if(y==''){
            x=x+'\n';
        }

        fs.appendFile('./data/'+news_title+'.txt',x,'utf-8',function(err){
            if(err){
                console.log('存储文章失败');
                console.log(err)
            }
        })
    })
}

function savedImg($,news_title){
    $('.article-content img').each(function(index,item){
        var img_title=$(this).parent().next().text().trim();//获取图片标题
        if(img_title.length>35||img_title==""){
            img_title='null'
        };
        var img_fileName=img_title+'.jpg';
        var img_src='http://www.ss.pku.edu.cn' + $(this).attr('src');//获取图片url

        request.head(img_src,function(err,res,body){
            if(err){
                console.log('获取图片失败');
                console.log(err);
            }
        })

        request(img_src).pipe(fs.createWriteStream('./image/'+news_title+'--'+img_fileName));
    })
}
function clean(cb){
    rimraf('data/**.txt',cb);
    rimraf('image/**.jpg',cb);
}
fetchPage(url);